Hub, Bridge, Router
contents
1. 허브 (Hub: "멍청한" 중계기)
OSI 계층: 1계층 (물리 계층, Physical Layer)
허브는 가장 단순한 네트워크 장비입니다. 데이터에 대한 지능이 전혀 없습니다. MAC 주소나 IP 주소를 이해하지 못하며, 오직 전기 신호만 이해합니다.
- 작동 방식 (브로드캐스팅): 허브가 한 포트로 데이터 패킷(프레임)을 받으면, 그 전기 신호를 복제하여 연결된 다른 모든 포트로 무작정 쏘아 보냅니다. 받는 사람이 누구인지는 신경 쓰지 않습니다.
- "파티" 비유: 사람들로 가득 찬 방을 상상해 보세요. A가 B에게 비밀 이야기를 하고 싶을 때, A가 방이 떠나가라 소리를 지르는 것과 같습니다. B는 듣겠지만, 나머지 사람들은 시끄러운 소음을 무시해야 합니다.
- 충돌 도메인 (Collision Domain): 허브 전체는 단 하나의 충돌 도메인입니다. 만약 컴퓨터 A와 컴퓨터 B가 동시에 데이터를 보내려 하면, 신호가 충돌하여 둘 다 망가집니다. 둘 다 멈추고 다시 시도해야 합니다.
- 보안 위험: 트래픽이 모든 사람 에게 전송되므로, 해커가 허브에 연결하여 자신의 네트워크 카드를 "무차별 모드(Promiscuous Mode)"로 설정하면, 자신에게 오지 않은 패킷(비밀번호, 이메일 등)까지 모두 엿볼 수 있습니다.
- 반이중 (Half-Duplex): 허브는 반이중 통신을 합니다. 보낼 때 받지 못하고, 받을 때 보내지 못합니다 (무전기 방식).
현재 상태: 도태됨 (Obsolete). 요즘 물리적인 허브를 보는 것은 매우 드뭅니다. 스위치(Switch)로 완전히 대체되었습니다.
2. 브리지 (Bridge: "소프트웨어" 검사관)
OSI 계층: 2계층 (데이터 링크 계층, Data Link Layer)
브리지는 허브보다 똑똑합니다. 주된 목적은 두 개의 분리된 네트워크 세그먼트(예: LAN A와 LAN B)를 연결하고, 트래픽을 필터링하여 혼잡을 줄이는 것입니다.
- 작동 방식 (MAC 주소 학습):
- 브리지는 MAC 주소 테이블을 유지 관리합니다.
- 프레임이 도착하면, 브리지는 출발지 MAC을 보고 어느 기기가 다리의 어느 쪽에 있는지 "학습"합니다.
- 그다음 목적지 MAC을 확인합니다:
- 목적지가 출발지와 같은 쪽에 있다면, 브리지는 패킷이 건너가지 못하게 차단(Block) 합니다. (받을 사람이 여기 있는데 굳이 건너편으로 보낼 필요가 없으니까요.)
- 목적지가 다른 쪽에 있다면, 패킷을 전달(Forward) 합니다.
- 목적지를 모른다면, 모든 포트로 뿌립니다(Flood, 허브처럼 동작).
- 충돌 도메인: 브리지는 충돌 도메인을 나눕니다(Break up). 브리지의 각 포트는 별도의 충돌 도메인이 됩니다. 즉, A 구역의 트래픽 충돌이 B 구역에 영향을 주지 않습니다.
- 소프트웨어 브리지: 물리적인 하드웨어 브리지는 드물지만, 소프트웨어 브리지는 현대 개발 환경에서 매우 중요합니다.
- 개발자 관련성: 도커(Docker)는 기본적으로 브리지 네트워크 드라이버(
docker0)를 사용합니다. 호스트 머신 안에 가상의 소프트웨어 브리지를 만들어 컨테이너끼리 통신하게 하고 외부와는 격리합니다.
- 개발자 관련성: 도커(Docker)는 기본적으로 브리지 네트워크 드라이버(
참고: 여러분이 매일 사용하는 네트워크 스위치(Switch) 는 기술적으로 볼 때 '포트가 여러 개 달린 하드웨어 가속 브리지'입니다.
3. 라우터 (Router: "지능형" 경로 관리자)
OSI 계층: 3계층 (네트워크 계층, Network Layer)
라우터는 서로 다른 네트워크를 연결하기 위해 설계되었습니다(예: 집 LAN과 통신사의 WAN 연결, 또는 192.168.1.x 서브넷과 10.0.0.x 서브넷 연결). 물리적인 MAC 주소가 아닌 IP 주소를 기반으로 판단을 내립니다.
- 작동 방식 (라우팅):
- 패킷이 도착하면 라우터는 목적지 IP 주소를 검사합니다.
- 자신의 라우팅 테이블(네트워크 지도)을 확인하여 목적지로 가는 최적의 경로를 찾습니다.
- 목적지로 향하는 다음 경로(Next Hop)로만 데이터를 보냅니다.
- 브로드캐스트 도메인: 라우터는 브로드캐스트를 차단합니다. 컴퓨터가 "전체에게 알림(Broadcast)" 메시지를 보내도, 라우터는 이를 다른 네트워크로 넘기지 않고 죽여버립니다. 이는 "브로드캐스트 폭풍(Broadcast Storms)"이 인터넷 전체를 마비시키는 것을 방지합니다.
- NAT (네트워크 주소 변환): 대부분의 가정용 공유기(Router)는 NAT 기능을 수행합니다. 기기들의 사설 IP(192.168.x.x)를 하나의 공인 IP로 변환하여 인터넷을 할 수 있게 해줍니다.
- 개발자 관련성: 쿠버네티스(Kubernetes)의 "Ingress"나 Kube-Proxy는 정교한 라우팅 계층처럼 동작하여, 들어오는 요청을 규칙에 따라 어떤 노드의 어떤 파드(Pod)로 보낼지 결정합니다.
요약 비교표
| 특징 | 허브 (Hub) | 브리지 (Bridge) | 라우터 (Router) |
|---|---|---|---|
| OSI 계층 | 1계층 (물리) | 2계층 (데이터 링크) | 3계층 (네트워크) |
| 사용 주소 | 없음 (전기 신호) | MAC 주소 (물리적) | IP 주소 (논리적) |
| 지능 | 멍청함 (무조건 전체 전송) | 반-지능형 (로컬 트래픽 필터링) | 지능형 (경로 계산) |
| 충돌 도메인 | 1개 (모두 공유) | 포트별로 분리됨 | 포트별로 분리됨 |
| 브로드캐스트 도메인 | 1개 (브로드캐스트 통과) | 1개 (브로드캐스트 통과) | 분리됨 (브로드캐스트 차단) |
| 현대적 형태 | 멸종됨 | 네트워크 스위치 / 도커 브리지 | 게이트웨이 / 클라우드 VPC 라우터 |
references